Streamed data is wide spread used. Videos or audio streams are generated and transmitted to a plurality of users via Internet, e.g. users select their favorite radio sender and the corresponding radio sender provides the corresponding audio stream to internet radios of the respective users.
Data streams are also used for surveillance of private or public places. Video cameras are used for capturing visually the corresponding places. The video streams are stored at least temporarily and can for example be used by law enforcement agencies not only to support an investigation in a criminal case but such stored video streams may also be an important evidence which can be used before court.
However, a cogency of a video stream of a surveillance camera to be used as a forensic evidence can be questioned. Therefore, the video stream needs to be authenticated by the original camera when the video stream is generated. Third parties, for example a court, must somehow be able to verify the authentication.
However, a direct application of for example digital signatures on a clip of the video stream may fail due to packet loss in the video stream. Another drawback is a limited flexibility, since for example a video clip can only be authenticated as a whole.
In the non-patent literature “How to sign digital streams”, of Rosario Gennaro, Pankaj Rohatgi, 17th Annual International Cryptology Conference Santa Barbara, Calif., 1997 Proceedings, Page 180-197, a method for signing of data streams is shown. However, one of the drawbacks is, that—when packet loss occurs—one lost packet is sufficient so the rest of the data stream cannot be authenticated anymore.
To overcome this problem in the non-patent literature “Digital Signatures for Flows and Multicasts”, of Chung Kei Wong, Wong Simon, Simon S. Lam, IEEE/ACM Transactions on Networking (TON) archive, Volume 7 Issue 4, August 1999, Page 502-513 a chaining signing technique was proposed. First a partition of a flow in blocks of packets is performed. The digest of each block is then signed and the block signature as well a corresponding authentication info is added to each packet so that each packet carriers its own authentication information to prove that it is in the block. However, the communication overhead by attaching this information of all the other packets in the same group to each packet is significantly increased.
In the non-patent literature “Efficient authentication and signing of multicast streams over lossy channels”, of Adrian Perrig, J. D. Tygar, Dawn Song, Ran Canetti, Security and Privacy, 2000 Proceeding SP′00 Proceedings of the 2000 IEEE Symposium on Security and Privacy, Page 56 and “Authenticating Streamed Data in the Presence of Random Packet Loss (Extended Abstract)”, of Philippe Golle, Nagendra Modadugu, ISOC Network and Distributed System Security Symposium 2001, Page 13-22, further authentication methods for data streams based on the chaining principle are described. For example packet hashes are duplicated and appended to other packets to make an authentication of a data stream robust against random/burst loss of packets.
One of the drawbacks is however, that in order to verify one data packet of the data stream all other data packets in the downstream of the packet chain till the signing point must be measured or analysed: For example in a packet a hash is included of a previous packet and a signature packet at the end of the data stream is sent which contains the hash of the final packet along with a signature. Further each packet contains multiple hashes of previous packets and the final signature packet signs the hash of the multiple packets. Another drawback is, that the above mentioned conventional methods are focused on real-time data authentication based on the transmitted packets and are therefore inflexible: A received single packet out of a data stream cannot be authenticated without at least knowing a significant part of the complete data stream.